#ifndef RELAYER_H__
#define RELAYER_H__

#define REL_JOBMAX 10000
#define BUFSIZE 1024

enum
{
	STATE_RUNNING = 1,
	STATE_CANCELED,
	STATE_OVER
};

struct rel_stat_s
{
	int state;
	int fd1;
	int fd2;
	int64_t count12, count21;
	// struct timerval timer1;
};

/**
return >=0 成功，返回当前任务id
== -EINVAL  失败，参数非法
== -ENOSPC  失败，任务组满
== -ENOMEM 失败，内存分配有误
**/
int rel_addjob(int fd1, int fd2);

/***

return 
0 : 成功，指定任务取消
-EINVAL 失败，参数非法
-EBUSY  失败，任务已取消
*/
int rel_canceljob(int id);

/**
return
0 成功，指定任务已终止，并返回状态
-ENVAL	参数非法

*/
int rel_waitjob(int id, struct rel_stat_s *);

/*
return
0 成功，指定任务已终止，并返回状态
*/
int rel_statjob(int id, struct rel_stat_s *);

#endif
